go/types.Chan.dir (field)
23 uses
go/types (current package)
builtins.go#L256: if uch.dir == RecvOnly {
chan.go#L12: dir ChanDir
chan.go#L28: return &Chan{dir: dir, elem: elem}
chan.go#L32: func (c *Chan) Dir() ChanDir { return c.dir }
expr.go#L206: if recv && ch.dir == SendOnly {
expr.go#L209: if !recv && ch.dir == RecvOnly {
operand.go#L391: if Vc, ok := Vu.(*Chan); ok && Vc.dir == SendRecv {
predicates.go#L466: return x.dir == y.dir && c.identical(x.elem, y.elem, p)
range.go#L213: if ch, _ := u.(*Chan); ch != nil && ch.dir == SendOnly {
range.go#L240: assert(typ.dir != SendOnly)
subst.go#L238: return &Chan{dir: t.dir, elem: elem}
typestring.go#L271: switch t.dir {
typestring.go#L275: if c, _ := t.elem.(*Chan); c != nil && c.dir == RecvOnly {
typexpr.go#L402: typ.dir = dir
under.go#L119: case chu.dir == ch.dir:
under.go#L121: case chu.dir == SendRecv:
under.go#L123: case ch.dir != SendRecv:
unify.go#L436: if yc, _ := under(y).(*Chan); yc != nil && yc.dir != SendRecv {
unify.go#L732: return (mode&exact == 0 || x.dir == y.dir) && u.nify(x.elem, y.elem, emode, p)